2.3 Backend Web Technologies - Overview
- Prerequisites
- How to upload a HTML file to cs.tru.ca, and
- How to access the above HTML file with a proper URL
- How to build up web applications - 3-tier web application architecture
- If you do not remember much this topic, you may go back to the previous topic '2.1 Overview'.
- What are the 3 tiers?
- Web client programs - ...
- Web server, and server-side script programs - ...
- Database - ...
- What are the roles of the 3 tiers?
- Web client-side programs - Provision of information, user interaction, user input
- Web server-side programs - Access to database, dynamic generation of web content
- Database - Information storage
- The first tier
- If you do not remember much this, you may go back to the previous topic '2.2 Frontend web technologies'.
- The second tier
- Which part in the above diagram?
- PHP
- Read 'What is PHP?' in PHP.
- Read 'What can PHP do?' in PHP.
- What is the main role of PHP in web applications?
- Where is PHP code running?
- PHP is one of the main topics in this course.
- Server-side JavaScript, and node.js
- Node.js, and Express
- Read the sub title in Express.
- This is another topic in the next level web course.
- There are many other server-side script languages - Python, Ruby, ...
- The third tier
- Relational DBMS, and MySQL
- Example
from 'https://insightsoftware.com/blog/whats-the-difference-relational-vs-non-relational-databases/'
- Read the first three paragraphs in Relational database.
Can you briefly explain what relational databases are?
- Read all in What is MySQL?.
- Read all in What is SQL?.
- This is one of the main topics in this course.
- Non-relational DBMS, NoSQL, and MongoDB
- Read the first two paragraphs in NoSQL.
- Read 'What is NoSQL and Why Should I Care?' in NoSQL Databases Explained.
- Read the first paragraph in MongoDB.
- This is one of the main topics in the next level web course.
- Learning outcomes
- List the three tiers.
- List the most popular server-side scripting language.
- Explain briefly the role of the 2nd tier.
- Explain briefly the role of the 3rd tier.
- Distinguish RDBMS and NoSQL databases.